class Solution {
    public String modifyString(String s) {
        int n = s.length();
        char[] chs = s.toCharArray();
        for(int i = 0; i < n; i++) {
            if(chs[i] == '?') {
                for(char x = 'a'; x <= 'z'; x++) {
                    // 包含边界条件的判定
                    // 只要新字符 x 不和左边或右边的字符重复（如果存在的话），就可以使用
                    if((i == 0 || x != chs[i - 1]) && (i == n - 1 || x != chs[i + 1])) {
                        chs[i] = x;
                        break;
                    }
                }
            }
        }
        return String.valueOf(chs);
    }
}